home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / ODF Release 3 / ODFDev / Draw / Sources / ClipCmds.h < prev    next >
Encoding:
Text File  |  1996-12-16  |  2.7 KB  |  107 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                ClipCmds.h
  4. //    Release Version:    $ ODF 3 $
  5. //
  6. //    Author:                Henri Lamiraux
  7. //
  8. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef CLIPCMDS_H
  13. #define CLIPCMDS_H
  14.  
  15. #ifndef DRAWLINK_H
  16. #include "DrawLink.h"
  17. #endif
  18.  
  19. // ----- Part Layer -----
  20.  
  21. #ifndef FWCLPCMD_H
  22. #include "FWClpCmd.h"
  23. #endif
  24.  
  25. //========================================================================================
  26. // Forward Declaration
  27. //========================================================================================
  28.  
  29. class CDrawPart;
  30. class CDrawFrame;
  31. class CDrawSelection;
  32. class CDrawSubscribeLink;
  33. class CDrawLinkManager;
  34. class CBaseShape;
  35. class CDrawUndoContent;
  36.  
  37. //========================================================================================
  38. // CDrawClipboardCommand
  39. //========================================================================================
  40.  
  41. class CDrawClipboardCommand : public FW_CClipboardCommand
  42. {
  43. public:
  44.  
  45.       FW_DECLARE_AUTO(CDrawClipboardCommand)
  46.  
  47.     CDrawClipboardCommand(Environment* ev, 
  48.                          ODCommandID commandID,
  49.                          CDrawPart* part, 
  50.                          CDrawFrame* frame, 
  51.                          CDrawSelection* selection,
  52.                          FW_Boolean canUndo);
  53.  
  54.     virtual ~ CDrawClipboardCommand();
  55.  
  56.     // --- FW_CCommand overrides
  57.     virtual void         UndoIt(Environment* ev);
  58.     virtual void         RedoIt(Environment* ev);
  59.     
  60.     
  61.     virtual void         SaveUndoState(Environment* ev);
  62.     virtual void         SaveRedoState(Environment* ev);
  63.     virtual void         FreeUndoState(Environment* ev);
  64.     
  65.     virtual void         PropagateChanges(Environment* ev,  ODUpdateID id = kODUnknownUpdate);
  66.  
  67.     // ----- FW_CClipboardCommand overrides -----
  68.     virtual void        PreCommand(Environment* ev);
  69.     virtual void         CommandDone(Environment* ev);
  70.  
  71.     
  72.  
  73. private:
  74.     CDrawLinkManager*     GetDrawLinkManager(Environment* ev) const;
  75.     FW_Boolean             IsPasteWithoutLink(Environment* ev) const;
  76.  
  77. private:
  78.     CDrawPart*            fDrawPart;
  79.     CDrawSelection*        fDrawSelection;
  80.     CDrawUndoContent*    fUndoContent;
  81.     CDrawSubscribeLink*    fSavedLink;
  82.     CDrawPublishLinkCollection* fLinkSources;
  83. };
  84.  
  85. //========================================================================================
  86. // CDuplicateCommand
  87. //========================================================================================
  88.  
  89. class CDuplicateCommand : public FW_CCommand
  90. {
  91.   public:
  92.  
  93.     FW_DECLARE_AUTO(CDuplicateCommand)
  94.     
  95.     CDuplicateCommand(Environment* ev, CDrawFrame* frame);
  96.     virtual ~CDuplicateCommand();
  97.  
  98.     virtual void DoIt(Environment* ev);
  99.     virtual void FreeUndoStateAfterFailure(Environment* ev);
  100.  
  101.   private:
  102.     CDrawFrame*        fDrawFrame;
  103.     FW_Boolean        fBeganTransaction;
  104. };
  105.  
  106. #endif
  107.